<html xmlns="http://www.w3c.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core">
	<h:head>
		<title> Distribuidora Frutos del Campo </title>
		<link rel="stylesheet" type="text/css" media="screen" href="../css/hojaDeEstilos.css" />
		<meta charset="utf-8" />
	</h:head>
	<h:body>
		<div id = 'contenido'>   
			<header>              
				<hgroup>          
					<a href="../home.xhtml"> <img src="../imagenes/tituloPagina.jpg" /></a>         
					<h2>Gestión de Clientes</h2>
				</hgroup>
				<hr />
				<br />
								
				<hgroup>
					<h:form>
						<!-- Menu -->
						<p:menubar autoDisplay="false">
	
							<p:menuitem value="Registrar"
								action="#{clienteBean.visibilizarRegistrar}"
								update=":formularioBusqueda :formularioRegistro :formularioEdicion" />
	
							<p:menuitem value="Buscar"
								action="#{clienteBean.visibilizarBuscar}"
								update=":formularioBusqueda :formularioRegistro :formularioEdicion" />
						</p:menubar>
					</h:form>
				</hgroup>
				<hr />
			</header>
			
			<section>
			<div id='textoPrincipal'>

				<!-- Panel de Busqueda -->
				<div class="row-fluid" align="center">
					<h:form id="formularioBusqueda">

						<div class="span12" align="left">
							<p:panel id="buscar" header="Buscar Clientes" visible="#{clienteBean.panelBuscarVisibilidad}">
								<h:panelGrid id="panelBusqueda" columns="4" cellpadding="5">

									<h:outputLabel for="codigo" value="Codigo: " />
									<p:inputText value="#{clienteBean.codigoBuscar}" id="codigo"
										label="Codigo " />

									<h:outputLabel for="nombre" value="Nombre: " />
									<p:inputText value="#{clienteBean.nombreBuscar}" id="nombre"
										label="Nombre " />

									<h:outputLabel for="apellido" value="Apellido: " />
									<p:inputText value="#{clienteBean.apellidoBuscar}"
										id="apellido" label="Apellido " />

									<h:outputLabel for="cuit" value="Cuit: " />
									<p:inputText value="#{clienteBean.cuitBuscar}"
										id="cuit" label="Cuit " />

									<h:outputLabel for="razonSocial" value="Razon Social: " />
									<p:inputText value="#{clienteBean.razonSocialBuscar}"
										id="razonSocial" label="Razon Social " />

									<h:outputLabel for="estado" value="Estado: " />
									<p:inputText value="#{clienteBean.estadoBuscar}" id="estado"
										label="Estado " />

								</h:panelGrid>

								<p:commandButton id="buscarButton" value="Buscar"
									action="#{clienteBean.buscarCliente}"
									update="panelBusqueda clientesTabla" />

							</p:panel>
						</div>

						<div class="span12" align="left">
							<p:panel id="mostrar" header="Clientes Encontrados" visible="#{clienteBean.panelBuscarVisibilidad}">

								<p:outputPanel id="clientesTabla">
									<p:dataTable id="dataTable" var="cliente"
										value="#{clienteBean.clientes}"
										widgetVar="clientesTable" rowKey="#{cliente.codigo}"
										selection="#{clienteBean.clienteSeleccionado}"
										selectionMode="single">

										<p:column id="codigoColumn" headerText="Codigo"
											sortBy="codigo">
											<h:outputText value="#{cliente.codigo}" />
										</p:column>

										<p:column id="nombreColumn" headerText="Nombre"
											sortBy="nombre">
											<h:outputText value="#{cliente.nombre}" />
										</p:column>

										<p:column id="apellidoColumn" headerText="Apellido"
											sortBy="apellido">
											<h:outputText value="#{cliente.apellido}" />
										</p:column>

										<p:column id="detallesColumn" style="width:10%"
											headerText="Detalles" footerText=" ">
											<p:commandButton id="selectButton"
												style="margin:1px; padding:1px; width: 25px; height: 25px; left:25%"
												update=":formularioBusqueda :display"
												oncomplete="PF('detalles').show()"
												icon="ui-icon-arrow-4-diag">
												<f:setPropertyActionListener value="#{cliente}"
													target="#{clienteBean.clienteSeleccionadoDetalles}" />
											</p:commandButton>
										</p:column>
									</p:dataTable>
								</p:outputPanel>

								<p:commandButton id="editarButton" value="Editar"
									update=":formularioEdicion :formularioRegistro :formularioBusqueda"
									action="#{clienteBean.editarCliente}" />

								<p:commandButton id="eliminarButton" value="Eliminar"
									action="#{clienteBean.eliminarCliente}"
									update="clientesTabla :formularioEdicion">
									<p:confirm header="Confirmacion de eliminacion"
										message="Esta seguro que quiere eliminar este cliente?"
										icon="ui-icon-alert" />
								</p:commandButton>

								<p:confirmDialog global="true" showEffect="fade" 
									hideEffect="explode">
									<p:commandButton value="Si" type="button"
										styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
									<p:commandButton value="No" type="button"
										styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
								</p:confirmDialog>
							</p:panel>
						</div>
					</h:form>

					<!-- Dialogo para cuando se apreta el Boton de Detalles de cliente -->
					<p:dialog header="Detalles del Cliente" widgetVar="detalles" position="top"
						resizable="false" id="clienteDetalles" showEffect="fade"
						hideEffect="explode" modal="true">

						<h:panelGrid id="display" columns="2" cellpadding="4"
							style="margin:0 auto;">

							<f:facet name="header">
								<p>Datos:</p>
							</f:facet>

							<h:outputText value="Codigo: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.codigo}"
								style="font-weight:bold" />

							<h:outputText value="Nombre: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.nombre}"
								style="font-weight:bold" />

							<h:outputText value="Apellido: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.apellido}"
								style="font-weight:bold" />

							<h:outputText value="Estado: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.estado}"
								style="font-weight:bold" />

							<h:outputText value="Telefono: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.telefono}"
								style="font-weight:bold" />

							<h:outputText value="Direccion: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.direccion}"
								style="font-weight:bold" />

							<h:outputText value="Localidad: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.localidad.nombre}"
								style="font-weight:bold" />
								
							<h:outputText value="Cuit: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.cuit}"
								style="font-weight:bold" />	
								
							<h:outputText value="Razon Social: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.razonSocial}"
								style="font-weight:bold" />	
								
							<h:outputText value="Tipo de Rubro: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.tipoRubro.rubro}"
								style="font-weight:bold" />

							<h:outputText value="Tipo de Iva: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.tipoIva.iva}"
								style="font-weight:bold" />
								
							<h:outputText value="Lista de Precio: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.listadePrecio.nombre}"
								style="font-weight:bold" />	

							<h:outputText value="Comentario: " />
							<h:outputText
								value="#{clienteBean.clienteSeleccionadoDetalles.comentario}"
								style="font-weight:bold" />

						</h:panelGrid>

					</p:dialog>
				</div>


				<!-- Panel de Edicion -->
				<div class="row-fluid" align="center">
					<h:form id="formularioEdicion">

						<div class="span12" align="left">
							<p:panel id="editar" header="Edicion del Cliente"
								visible="#{clienteBean.panelEditarVisibilidad}">

								<h:panelGrid columns="4" cellpadding="5">

									<h:outputLabel for="nombre" value="Nombre: " />
									<p:inputText value="#{clienteBean.clienteSeleccionado.nombre}"
										id="nombre" required="true" label="Nombre " />

									<h:outputLabel for="apellido" value="Apellido: " />
									<p:inputText
										value="#{clienteBean.clienteSeleccionado.apellido}"
										id="apellido" required="true" label="Apellido " />

									<h:outputLabel for="telefono" value="Telefono: " />
									<p:inputText
										value="#{clienteBean.clienteSeleccionado.telefono}"
										id="telefono" required="true" label="Telefono " />

									<h:outputLabel for="direccion" value="Direccion: " />
									<p:inputText
										value="#{clienteBean.clienteSeleccionado.direccion}"
										id="direccion" required="true" label="Direccion " />

									<h:outputLabel for="combo" value="Localidad: " />
									<p:selectOneMenu id="combo"
										value="#{clienteBean.clienteSeleccionado.localidad}"
										converter="localidadConverter" effect="fade"
										label="Localidad ">
										<f:selectItem itemLabel="#{clienteBean.nombreLocalidad}"
											itemValue="" />
										<f:selectItems value="#{clienteBean.localidades}"
											var="localidad" itemValue="#{localidad}"
											itemLabel="#{localidad.nombre}" />
									</p:selectOneMenu>

									<h:outputLabel for="codigo" value="Codigo: " />
									<p:inputText value="#{clienteBean.clienteSeleccionado.codigo}"
										id="codigo" required="true" label="Codigo " />

									<h:outputLabel for="cuit" value="Cuit: " />
									<p:inputText value="#{clienteBean.clienteSeleccionado.cuit}"
										id="cuit" required="true" label="Cuit " />

									<h:outputLabel for="razon" value="Razon Social: " />
									<p:inputText
										value="#{clienteBean.clienteSeleccionado.razonSocial}"
										id="razon" required="true" label="Razon Social " />

									<h:outputLabel for="comboTipoRubro" value="Tipo de Rubro: " />
									<p:selectOneMenu id="comboTipoRubro"
										value="#{clienteBean.clienteSeleccionado.tipoRubro}"
										converter="tipoRubroConverter" effect="fade"
										label="Tipo de Rubro ">
										<f:selectItem itemLabel="#{clienteBean.nombreTipoRubro}"
											itemValue="" />
										<f:selectItems value="#{clienteBean.tiposRubro}"
											var="tipoRubroAux" itemValue="#{tipoRubroAux}"
											itemLabel="#{tipoRubroAux.rubro}" />
									</p:selectOneMenu>

									<h:outputLabel for="comboTipoIva" value="Tipo de Iva: " />
									<p:selectOneMenu id="comboTipoIva"
										value="#{clienteBean.clienteSeleccionado.tipoIva}"
										converter="tipoIvaConverter" effect="fade"
										label="Tipo de Iva ">
										<f:selectItem itemLabel="#{clienteBean.nombreTipoIva}"
											itemValue="" />
										<f:selectItems value="#{clienteBean.tiposIva}" var="tipoIva"
											itemValue="#{tipoIva}" itemLabel="#{tipoIva.iva}" />
									</p:selectOneMenu>

									<h:outputLabel for="comboListaDePrecio"
										value="Lista de Precio: " />
									<p:selectOneMenu id="comboListaDePrecio"
										value="#{clienteBean.clienteSeleccionado.listadePrecio}"
										converter="listaDePrecioConverter" effect="fade"
										label="Lista de Precio ">
										<f:selectItem itemLabel="#{clienteBean.nombreListaDePrecio}"
											itemValue="" />
										<f:selectItems value="#{clienteBean.listasDePrecio}"
											var="listaDePrecio" itemValue="#{listaDePrecio}"
											itemLabel="#{listaDePrecio.nombre}" />
									</p:selectOneMenu>

									<h:outputLabel for="estado" value="Estado: " />
									<p:inputText value="#{clienteBean.clienteSeleccionado.estado}"
										id="estado" required="true" label="Estado " />

									<h:outputLabel for="comentario" value="Comentario: " />
									<p:inputText
										value="#{clienteBean.clienteSeleccionado.comentario}"
										id="comentario" required="true" label="Comentario " />

								</h:panelGrid>

								<p:commandButton id="editarButton" value="Guardar"
									update=":formularioBusqueda :formularioEdicion :formularioRegistro"
									action="#{clienteBean.actualizarCliente}"
									disabled="#{empty clienteBean.clienteSeleccionado}" />

								<p:commandButton id="volverButton" value="Volver"
									update=":formularioBusqueda :formularioEdicion :formularioRegistro"
									action="#{clienteBean.volverBusqueda}" />

							</p:panel>
						</div>
					</h:form>

				</div>
				
				<!-- Panel de Registro -->
				<div class="row-fluid" align="center">
					<h:form id="formularioRegistro">
						<div class="span12" align="left">
						
							<p:panel id="registrar" header="Registro de Clientes" visible="#{clienteBean.panelRegistrarVisibilidad}">

								<h:panelGrid id="panel" columns="4" cellpadding="5">

									<h:outputLabel for="nombre" value="Nombre: " />
									<p:inputText value="#{clienteBean.nombreRegistrar}"
										id="nombre" required="true" label="Nombre " />

									<h:outputLabel for="apellido" value="Apellido: " />
									<p:inputText value="#{clienteBean.apellidoRegistrar}"
										id="apellido" required="true" label="Apellido " />

									<h:outputLabel for="telefono" value="Telefono: " />
									<p:inputText value="#{clienteBean.telefonoRegistrar}"
										id="telefono" required="true" label="Telefono " />

									<h:outputLabel for="direccion" value="Direccion: " />
									<p:inputText value="#{clienteBean.direccionRegistrar}"
										id="direccion" required="true" label="Direccion " />

									<h:outputLabel for="comboLocalidad" value="Localidad: " />
									<p:selectOneMenu id="comboLocalidad"
										value="#{clienteBean.localidadSeleccionadaRegistrar}"
										required="true" converter="localidadConverter" effect="fade"
										label="Localidad ">
										<f:selectItem itemLabel="Seleccionar una" itemValue="" />
										<f:selectItems value="#{clienteBean.localidades}"
											var="localidad" itemValue="#{localidad}"
											itemLabel="#{localidad.nombre}" />
									</p:selectOneMenu>

									<h:outputLabel for="codigo" value="Codigo: " />
									<p:inputText value="#{clienteBean.codigoRegistrar}" id="codigo"
										required="true" label="Codigo " />

									<h:outputLabel for="cuit" value="Cuit: " />
									<p:inputText value="#{clienteBean.cuitRegistrar}" id="cuit"
										required="true" label="Cuit " />

									<h:outputLabel for="razon" value="Razon Social: " />
									<p:inputText value="#{clienteBean.razonSocialRegistrar}"
										id="razon" required="true" label="Razon Social " />

									<h:outputLabel for="comboTipoRubro" value="Tipo de Rubro: " />
									<p:selectOneMenu id="comboTipoRubro"
										value="#{clienteBean.tipoRubroSeleccionadoRegistrar}"
										required="true" converter="tipoRubroConverter" effect="fade"
										label="Tipo de Rubro ">
										<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
										<f:selectItems value="#{clienteBean.tiposRubro}"
											var="tipoRubro" itemValue="#{tipoRubro}"
											itemLabel="#{tipoRubro.rubro}" />
									</p:selectOneMenu>

									<h:outputLabel for="comboTipoIva" value="Tipo de Iva: " />
									<p:selectOneMenu id="comboTipoIva"
										value="#{clienteBean.tipoIvaSeleccionadoRegistrar}"
										required="true" converter="tipoIvaConverter" effect="fade"
										label="Tipo de Iva ">
										<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
										<f:selectItems value="#{clienteBean.tiposIva}" var="tipoIva"
											itemValue="#{tipoIva}" itemLabel="#{tipoIva.iva}" />
									</p:selectOneMenu>

									<h:outputLabel for="comboListaDePrecio"
										value="Lista de Precio: " />
									<p:selectOneMenu id="comboListaDePrecio"
										value="#{clienteBean.listaDePrecioSeleccionadaRegistrar}"
										required="true" converter="listaDePrecioConverter"
										effect="fade" label="Lista de Precio ">
										<f:selectItem itemLabel="Seleccionar una" itemValue="" />
										<f:selectItems value="#{clienteBean.listasDePrecio}"
											var="listaDePrecio" itemValue="#{listaDePrecio}"
											itemLabel="#{listaDePrecio.nombre}" />
									</p:selectOneMenu>

									<h:outputLabel for="comentario" value="Comentario: " />
									<p:inputText value="#{clienteBean.comentarioRegistrar}"
										id="comentario" required="true" label="Comentario " />

								</h:panelGrid>

								<p:commandButton id="regiButton" value="Registrar"
									action="#{clienteBean.registrarCliente}" update="panel" />
							</p:panel>
						</div>
					</h:form>

				</div>
			</div>
		</section> 
		</div>
	
	</h:body>
</html>